ostree.git
3 years agoMerge pull request #2637 from cgwalters/opt-prune-reachable-too
Joseph Marrero Corchado [Wed, 8 Jun 2022 20:53:29 +0000 (16:53 -0400)]
Merge pull request #2637 from cgwalters/opt-prune-reachable-too

prune: Also use object set API in `ostree_repo_prune_from_reachable()`

3 years agoprune: Also use object set API in `ostree_repo_prune_from_reachable()`
Colin Walters [Wed, 8 Jun 2022 20:22:26 +0000 (16:22 -0400)]
prune: Also use object set API in `ostree_repo_prune_from_reachable()`

I missed the second prune path when working on
https://github.com/ostreedev/ostree/pull/2635

3 years agoMerge pull request #2636 from cgwalters/update-git-libostree-git-rust
Colin Walters [Wed, 8 Jun 2022 17:16:11 +0000 (13:16 -0400)]
Merge pull request #2636 from cgwalters/update-git-libostree-git-rust

ci: Add a flow that does a git libostree + git rust-bindings

3 years agoMerge pull request #2635 from cgwalters/list-objects-set
Jonathan Lebon [Wed, 8 Jun 2022 15:38:36 +0000 (11:38 -0400)]
Merge pull request #2635 from cgwalters/list-objects-set

3 years agoci: Add a flow that does a git libostree + git rust-bindings
Colin Walters [Wed, 8 Jun 2022 13:53:33 +0000 (09:53 -0400)]
ci: Add a flow that does a git libostree + git rust-bindings

In https://github.com/ostreedev/ostree/pull/2633 I realized
that our CI only builds git of libostree or git of rust-bindings,
not git of both.  And we definitely want to test the latter too,
so e.g. the Rust tests *also* become tests for changes to the C code.

3 years agorepo: Further optimize `ostree_repo_list_objects_set()`
Colin Walters [Wed, 8 Jun 2022 01:41:08 +0000 (21:41 -0400)]
repo: Further optimize `ostree_repo_list_objects_set()`

In a prior change we discovered that for bad historical reasons
libostree was returning a mapping "object type+checksum" => "metadata"
but the "metadata" was redundant and pointless.

Optimize the prune API to use a (currently internal) object listing
API which returns a set, not a map.  This allows `GHashTable` to
avoid allocating a separate array for the values, neatly cutting
memory usage in half (from ~13MB to ~6MB) on my test case of a
dry-run prune of a FCOS build.

3 years agoMerge pull request #2633 from cgwalters/bump-rust-bindings
Joseph Marrero Corchado [Wed, 8 Jun 2022 14:15:02 +0000 (10:15 -0400)]
Merge pull request #2633 from cgwalters/bump-rust-bindings

rust: Bump semver, add feature for current release

3 years agorust: Bump semver, add feature for current release
Colin Walters [Tue, 7 Jun 2022 21:59:02 +0000 (17:59 -0400)]
rust: Bump semver, add feature for current release

There were some changes to the sys API for introspection fixes.
And add a feature for the current release, which is something
I'll add to the checklist for releases.

3 years agoMerge pull request #2634 from cgwalters/list-objects-malloc
Dan Nicholson [Wed, 8 Jun 2022 02:59:45 +0000 (20:59 -0600)]
Merge pull request #2634 from cgwalters/list-objects-malloc

repo: Optimize memory use of `ostree_repo_list_objects()`

3 years agorepo: Optimize memory use of `ostree_repo_list_objects()`
Colin Walters [Wed, 8 Jun 2022 00:30:09 +0000 (20:30 -0400)]
repo: Optimize memory use of `ostree_repo_list_objects()`

I was looking at https://github.com/ostreedev/ostree/pull/2632
and confused at the usage of
`GVariant *value = g_variant_new ("(b@as)", TRUE, g_variant_new_strv (NULL, 0));`
which looked strange - why the empty strv?

It turns out that this is a historical legacy of the time when
ostree had pack files.  And nothing actually cares about the values
of these variants; we should have an API that returns a proper set,
and not a hash.

But...since all of these things have exactly the same value, instead
of allocating lots of redundant copies on the heap, just have
them all hold a refcount on a shared value.

This cuts the heap usage from 20MB to 13MB on a test FCOS repository
build.

3 years agoMerge pull request #2631 from cgwalters/release-2022-4
Joseph Marrero Corchado [Mon, 6 Jun 2022 16:49:42 +0000 (12:49 -0400)]
Merge pull request #2631 from cgwalters/release-2022-4

Release 2022.4

3 years agoconfigure: post-release version bump
Colin Walters [Mon, 6 Jun 2022 15:06:44 +0000 (11:06 -0400)]
configure: post-release version bump

3 years agoRelease 2022.4
Colin Walters [Mon, 6 Jun 2022 15:04:44 +0000 (11:04 -0400)]
Release 2022.4

3 years agoMerge pull request #2627 from cgwalters/bindings-drop-committed-gir
Jonathan Lebon [Fri, 3 Jun 2022 14:52:44 +0000 (10:52 -0400)]
Merge pull request #2627 from cgwalters/bindings-drop-committed-gir

3 years agorust-bindings: Update to latest git
Colin Walters [Fri, 3 Jun 2022 13:58:20 +0000 (09:58 -0400)]
rust-bindings: Update to latest git

3 years agorust-bindings: Use OSTree-1.0.gir from our own builddir
Colin Walters [Fri, 3 Jun 2022 13:57:12 +0000 (09:57 -0400)]
rust-bindings: Use OSTree-1.0.gir from our own builddir

Now that the projects are unified.

3 years agorust-bindings: Delete committed gir files
Colin Walters [Fri, 3 Jun 2022 13:48:47 +0000 (09:48 -0400)]
rust-bindings: Delete committed gir files

These seem to have been accidentally committed to git; they should
not be here.  The Gir should be derived from source code.

3 years agoMerge pull request #2625 from cgwalters/drop-features-introspection
Joseph Marrero Corchado [Fri, 3 Jun 2022 13:22:48 +0000 (09:22 -0400)]
Merge pull request #2625 from cgwalters/drop-features-introspection

Drop `OSTREE_BUILT_FEATURES` from introspection

3 years agoMerge pull request #2624 from cgwalters/misc-introspection-fixes
Joseph Marrero Corchado [Fri, 3 Jun 2022 13:10:27 +0000 (09:10 -0400)]
Merge pull request #2624 from cgwalters/misc-introspection-fixes

Rename ostree-cmdprivate to drop out of introspection

3 years agoDrop `OSTREE_BUILT_FEATURES` from introspection
Colin Walters [Thu, 2 Jun 2022 23:42:52 +0000 (19:42 -0400)]
Drop `OSTREE_BUILT_FEATURES` from introspection

It inherently depends on the individual build, and can't
really be an official stable API for introspection users.
I've noticed the value of this flip flop when doing local builds.

I'm fairly certain no one is trying to use it from a higher level
language.

It'd probably make sense to even drop from the official C API,
but I'm trying to be conservative with that.

3 years agoRename ostree-cmdprivate to drop out of introspection
Colin Walters [Thu, 2 Jun 2022 21:13:17 +0000 (17:13 -0400)]
Rename ostree-cmdprivate to drop out of introspection

I was looking at our `.gir` and noticed we had the cmdprivate bits
because the pattern for excluding headers is `-private.h`, which
didn't match `cmdprivate.h`.

3 years agoMerge pull request #2620 from jameswestman/lookup-annotations
Luca Bruno [Thu, 2 Jun 2022 15:38:46 +0000 (15:38 +0000)]
Merge pull request #2620 from jameswestman/lookup-annotations

Fix annotations on ostree_mutable_tree_lookup()

3 years agoMerge pull request #2622 from cgwalters/more-ci
Jonathan Lebon [Tue, 31 May 2022 19:14:50 +0000 (15:14 -0400)]
Merge pull request #2622 from cgwalters/more-ci

3 years agogitignore: Add ci-build/
Colin Walters [Tue, 31 May 2022 14:58:26 +0000 (10:58 -0400)]
gitignore: Add ci-build/

Generated by our scripts.

3 years agoci: Add a codestyle.sh
Colin Walters [Tue, 31 May 2022 14:57:00 +0000 (10:57 -0400)]
ci: Add a codestyle.sh

This matches what we do in rpm-ostree.  Move the `glnx_fd_close`
bits out of `make syntax-check` in preparation for dropping that.

3 years agoci: Drop an unused files
Colin Walters [Tue, 31 May 2022 14:49:09 +0000 (10:49 -0400)]
ci: Drop an unused files

Cruft from previous CI flows.

3 years agoMerge pull request #2621 from cgwalters/drop-jenkins-soup
Jonathan Lebon [Tue, 31 May 2022 15:24:33 +0000 (11:24 -0400)]
Merge pull request #2621 from cgwalters/drop-jenkins-soup

3 years agoci: Drop libsoup build in jenkins
Colin Walters [Tue, 31 May 2022 13:59:02 +0000 (09:59 -0400)]
ci: Drop libsoup build in jenkins

GH actions is fast zero cost system that covers these build matrix
things well.  Let's keep our Fedora CI system doing more of the
qemu heavy lifting.

3 years agoFix annotations on ostree_mutable_tree_lookup()
James Westman [Mon, 30 May 2022 22:28:54 +0000 (17:28 -0500)]
Fix annotations on ostree_mutable_tree_lookup()

(nullable) and (optional) were missing on lookup()'s out parameters,
which caused the rust bindings for the function to not work. Due to the
missing (nullable), it would return a Result<(GString, MutableTree), _>,
not a Result<(Option<GString>, Option<MutableTree>), _>, which led to
panics.

3 years agoMerge pull request #2613 from GuiltyDoggy/man-update
Luca Bruno [Mon, 30 May 2022 17:35:05 +0000 (17:35 +0000)]
Merge pull request #2613 from GuiltyDoggy/man-update

man: Fix ostree-admin-instutil subcommands

3 years agoMerge pull request #2619 from nikita-dubrovskii/skip_gzip_unpacking
Jonathan Lebon [Fri, 27 May 2022 20:27:08 +0000 (16:27 -0400)]
Merge pull request #2619 from nikita-dubrovskii/skip_gzip_unpacking

3 years agos390x: do not unpack existing initrd, just append LUKS keys to its copy
Nikita Dubrovskii [Fri, 27 May 2022 07:13:18 +0000 (09:13 +0200)]
s390x: do not unpack existing initrd, just append LUKS keys to its copy

Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
3 years agoMerge pull request #2618 from jlebon/pr/copr-fix
Luca Bruno [Fri, 27 May 2022 06:37:54 +0000 (06:37 +0000)]
Merge pull request #2618 from jlebon/pr/copr-fix

copr: mark git checkout as safe

3 years agocopr: mark git checkout as safe
Jonathan Lebon [Thu, 26 May 2022 20:54:43 +0000 (16:54 -0400)]
copr: mark git checkout as safe

Recent git became more strict wrt git repos in parent dirs owned by
other users. This broke our COPR builds due to the git checkout being
created by a different user and mounted in. We need to explicitly mark
the repo as safe.

For more information, see:
https://github.com/actions/checkout/issues/760

3 years agoMerge pull request #2615 from nikita-dubrovskii/handle_errors
Jonathan Lebon [Wed, 25 May 2022 17:38:23 +0000 (13:38 -0400)]
Merge pull request #2615 from nikita-dubrovskii/handle_errors

3 years agoMerge pull request #2605 from saqibali-2k/pr/bls-append
Colin Walters [Wed, 25 May 2022 15:33:10 +0000 (11:33 -0400)]
Merge pull request #2605 from saqibali-2k/pr/bls-append

ostree-systroot-deploy: parse bls-append-except-default key

3 years agos390x: fail on error during reading of SecureExecution sysfs flag
Nikita Dubrovskii [Tue, 24 May 2022 17:30:35 +0000 (19:30 +0200)]
s390x: fail on error during reading of SecureExecution sysfs flag

3 years agoMerge pull request #2616 from HuijingHei/dup-osname
Luca Bruno [Wed, 25 May 2022 07:00:12 +0000 (07:00 +0000)]
Merge pull request #2616 from HuijingHei/dup-osname

Remove dup "--os=OSNAME" line in output of "ostree admin config-diff --help"

3 years agoRemove dup "--os=OSNAME" line in output of "ostree admin config-diff --help"
Huijing Hei [Wed, 25 May 2022 03:15:39 +0000 (11:15 +0800)]
Remove dup "--os=OSNAME" line in output of "ostree admin config-diff --help"

Small fix for https://github.com/ostreedev/ostree/issues/2594

3 years agoFix GNU style of two spaces for indent in https://github.com/ostreedev/ostree/pull...
Huijing Hei [Wed, 25 May 2022 03:12:47 +0000 (11:12 +0800)]
Fix GNU style of two spaces for indent in https://github.com/ostreedev/ostree/pull/2612

3 years agoMerge pull request #2612 from HuijingHei/deploy-karg-delete
Colin Walters [Tue, 24 May 2022 15:18:54 +0000 (11:18 -0400)]
Merge pull request #2612 from HuijingHei/deploy-karg-delete

Teach --karg-delete option to ostree admin deploy

3 years agoMerge pull request #2614 from nikita-dubrovskii/issue-2867
Dusty Mabe [Mon, 23 May 2022 20:11:56 +0000 (16:11 -0400)]
Merge pull request #2614 from nikita-dubrovskii/issue-2867

s390x: ensure SecureExecution is enabled before sd-boot generation

3 years agos390x: ensure SecureExecution is enabled before sd-boot generation
Nikita Dubrovskii [Mon, 23 May 2022 15:28:54 +0000 (17:28 +0200)]
s390x: ensure SecureExecution is enabled before sd-boot generation

Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
3 years agoMerge pull request #2580 from nikita-dubrovskii/sdboot_partition
Colin Walters [Mon, 23 May 2022 12:41:35 +0000 (08:41 -0400)]
Merge pull request #2580 from nikita-dubrovskii/sdboot_partition

s390x: generate sd-boot at its own partition

3 years agoman: Fix ostree-admin-instutil subcommands
Yosuke Matsumura [Thu, 19 May 2022 20:54:26 +0000 (15:54 -0500)]
man: Fix ostree-admin-instutil subcommands

<term><cmdsynopsis> is not valid, causing the command to not be rendered
correctly.

Create one <variablelist> per <cmdsynopsis>. Inelegant but maintains
desired formatting.

Closes #2581

3 years agoTeach --karg-delete option to ostree admin deploy
Huijing Hei [Wed, 18 May 2022 02:45:46 +0000 (10:45 +0800)]
Teach --karg-delete option to ostree admin deploy

See https://github.com/ostreedev/ostree/issues/2586

3 years agoman/ostree.repo-config.xml: add docs for bls-append-except-default key
Saqib Ali [Wed, 11 May 2022 14:54:42 +0000 (10:54 -0400)]
man/ostree.repo-config.xml: add docs for bls-append-except-default key

Relevant: https://github.com/coreos/fedora-coreos-tracker/issues/134

3 years agoostree-systroot-deploy: parse bls-append-except-default key
Saqib Ali [Mon, 9 May 2022 16:39:32 +0000 (12:39 -0400)]
ostree-systroot-deploy: parse bls-append-except-default key

We want to parse a new "bls-append-except-default" key from ostree config. The
key-value pairs specified by this key will be added to the generated
BLS fragments of non-default deployments. They must follow the format
"key1,value1;key2,value2" and so on.

This change will allow us to land GRUB password support in FCOS.

Relevant: https://github.com/coreos/fedora-coreos-tracker/issues/134

3 years agos390x: generate sd-boot at its own partition
Nikita Dubrovskii [Mon, 4 Apr 2022 14:09:50 +0000 (16:09 +0200)]
s390x: generate sd-boot at its own partition

Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
3 years agoMerge pull request #2610 from cgwalters/ci-tweaks-2
Joseph Marrero Corchado [Tue, 17 May 2022 14:43:30 +0000 (10:43 -0400)]
Merge pull request #2610 from cgwalters/ci-tweaks-2

ci: Move codestyle and min build to GH actions

3 years agoci: Move codestyle and min build to GH actions
Colin Walters [Tue, 17 May 2022 00:10:32 +0000 (20:10 -0400)]
ci: Move codestyle and min build to GH actions

Part of general momentum to leave heavy lifting (e.g. VM tests)
to Jenkins and Prow and use the cheaper/faster GH actions for
plain builds.

3 years agoMerge pull request #2608 from cgwalters/fanalyzer-fixes
Colin Walters [Mon, 16 May 2022 19:55:35 +0000 (15:55 -0400)]
Merge pull request #2608 from cgwalters/fanalyzer-fixes

ci: Drop gcc `-fanalyzer` by default

3 years agoci: Drop all `runAsUser: 0` in builds
Colin Walters [Mon, 16 May 2022 16:37:15 +0000 (12:37 -0400)]
ci: Drop all `runAsUser: 0` in builds

This triggers the new git warning; I think this is only
here because long ago we used coreos-assembler as a buildroot,
but that's long since fixed.

3 years agoci: Drop gcc `-fanalyzer` by default
Colin Walters [Sun, 15 May 2022 20:03:38 +0000 (16:03 -0400)]
ci: Drop gcc `-fanalyzer` by default

There's a pile of new warnings in GCC 12 from F36, I dug into
them but most of them seem inscrutable - I am not seeing the bugs.

For now to unblock further work, stop using this flag.

3 years agosysroot: Strengthen several `g_return_if_fail` into `g_assert()`
Colin Walters [Mon, 16 May 2022 14:59:27 +0000 (10:59 -0400)]
sysroot: Strengthen several `g_return_if_fail` into `g_assert()`

Similar to prior changes; motivated by testing out an updated
`gcc -fanalyzer`.

3 years agosysroot: Quiet one gcc `-fanalyzer` warning
Colin Walters [Sun, 15 May 2022 20:03:01 +0000 (16:03 -0400)]
sysroot: Quiet one gcc `-fanalyzer` warning

I don't think this can happen in practice, but add an assertion
to verify it.

3 years agoMerge pull request #2606 from ostreedev/dependabot/submodules/libglnx-c59eb27
Luca Bruno [Thu, 12 May 2022 13:18:45 +0000 (13:18 +0000)]
Merge pull request #2606 from ostreedev/dependabot/submodules/libglnx-c59eb27

build(deps): bump libglnx from `c71f7ae` to `c59eb27`

3 years agobuild(deps): bump libglnx from `c71f7ae` to `c59eb27`
dependabot[bot] [Thu, 12 May 2022 12:32:06 +0000 (12:32 +0000)]
build(deps): bump libglnx from `c71f7ae` to `c59eb27`

Bumps libglnx from `c71f7ae` to `c59eb27`.

---
updated-dependencies:
- dependency-name: libglnx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years agoMerge pull request #2603 from cgwalters/use-cargo-deny
Joseph Marrero Corchado [Tue, 10 May 2022 21:43:19 +0000 (17:43 -0400)]
Merge pull request #2603 from cgwalters/use-cargo-deny

ci: use cargo-deny

3 years agoci: use cargo-deny
Colin Walters [Tue, 10 May 2022 21:13:44 +0000 (17:13 -0400)]
ci: use cargo-deny

Copied from https://github.com/ostreedev/ostree-rs-ext/pull/291

Part of unifying our CI.

3 years agoMerge pull request #2575 from cgwalters/merge-ostree-rs
Colin Walters [Mon, 9 May 2022 20:41:08 +0000 (16:41 -0400)]
Merge pull request #2575 from cgwalters/merge-ostree-rs

Merge ostree-rs into this repository

3 years agoMerge pull request #2601 from cgwalters/expose-get-xattrs
Colin Walters [Mon, 9 May 2022 19:00:53 +0000 (15:00 -0400)]
Merge pull request #2601 from cgwalters/expose-get-xattrs

Add APIs to get xattrs from disk

3 years agoMerge pull request #2602 from cgwalters/fix-docs-ci
Colin Walters [Mon, 9 May 2022 19:00:00 +0000 (15:00 -0400)]
Merge pull request #2602 from cgwalters/fix-docs-ci

ci: Work around GH actions `container:` + git + security bug

3 years agorust-bindings: Remove some unused CI/test bits
Colin Walters [Mon, 9 May 2022 18:53:40 +0000 (14:53 -0400)]
rust-bindings: Remove some unused CI/test bits

We're not using Vagrant or Gitlab, and our container flow is
different.

3 years agoci: Move rust-bindings CI to toplevel
Colin Walters [Mon, 9 May 2022 18:52:46 +0000 (14:52 -0400)]
ci: Move rust-bindings CI to toplevel

It should replace our stub one.

3 years agotests/inst: Add .gitignore
Colin Walters [Mon, 9 May 2022 18:52:26 +0000 (14:52 -0400)]
tests/inst: Add .gitignore

Need this now that it is it's own workspace.

3 years agoci: Work around GH actions `container:` + git + security bug
Colin Walters [Mon, 9 May 2022 18:46:41 +0000 (14:46 -0400)]
ci: Work around GH actions `container:` + git + security bug

See https://github.com/actions/checkout/issues/760

3 years agotests/inst: Fix install rules for ostree-rs merger
Colin Walters [Mon, 9 May 2022 16:57:40 +0000 (12:57 -0400)]
tests/inst: Fix install rules for ostree-rs merger

`tests/inst` became its own workspace.

3 years agoAdd APIs to get xattrs from disk
Colin Walters [Sat, 7 May 2022 17:51:31 +0000 (13:51 -0400)]
Add APIs to get xattrs from disk

I'm aiming to do some more work on the Rust side around `fsck`
like functionality, and this is a useful primitive.  There isn't
a great Rust crate for xattrs, and I think it's better to share this
code.

3 years agocfg.mk: Don't even look at rust-bindings/
Colin Walters [Fri, 6 May 2022 20:46:46 +0000 (16:46 -0400)]
cfg.mk: Don't even look at rust-bindings/

It's really tempting to remove `make syntax-check`, it has very
very rarely found any real problems.

But anyways, just exclude all the binding code because it trips
up random problems we simply don't care about like mentions of
`O_NDELAY` in the `GLib-2.0.gir`.

3 years agoMerge pull request #2600 from cgwalters/link-suse-ima
Joseph Marrero Corchado [Fri, 6 May 2022 20:35:28 +0000 (16:35 -0400)]
Merge pull request #2600 from cgwalters/link-suse-ima

docs/ima: Also link the SUSE docs

3 years agodocs/ima: Also link the SUSE docs
Colin Walters [Fri, 6 May 2022 18:43:58 +0000 (14:43 -0400)]
docs/ima: Also link the SUSE docs

They have a lot of stuff there.

3 years agobuild-sys: Adjust for merge of ostree-rs
Colin Walters [Thu, 31 Mar 2022 22:53:31 +0000 (18:53 -0400)]
build-sys: Adjust for merge of ostree-rs

Fix up the paths for the crates now that the Rust bindings are in
`rust/`.

We can't today include the test suite because it depends on `ostree-rs-ext`
which would make everything circular.

(Building that now requires a separate `cd tests/inst && cargo build`)

3 years agoAdd a `repo()` accessor to `TransactionGuard`
Colin Walters [Tue, 26 Apr 2022 23:30:01 +0000 (19:30 -0400)]
Add a `repo()` accessor to `TransactionGuard`

I want to write APIs that *require* the caller to have set up
an ostree transaction.  It's natural to require passing a guard
to do so.  But then we want an accessor for the repo.

3 years agolib: Run `cargo fmt`
Colin Walters [Wed, 6 Apr 2022 13:49:58 +0000 (09:49 -0400)]
lib: Run `cargo fmt`

Prep for merge into ostree, where we want to run `cargo fmt` checks
in CI.

3 years agoostree: release 0.13.7
Luca BRUNO [Fri, 4 Mar 2022 14:28:36 +0000 (14:28 +0000)]
ostree: release 0.13.7

3 years agoostree: manually patch generated files
Luca BRUNO [Fri, 4 Mar 2022 14:28:35 +0000 (14:28 +0000)]
ostree: manually patch generated files

This manually adds a missing `ToGlibPtr` import, which seems to be result
of some bugs in `gir` code-generation.

3 years agoostree: refresh after gir bump
Luca BRUNO [Fri, 4 Mar 2022 14:28:34 +0000 (14:28 +0000)]
ostree: refresh after gir bump

3 years agoostree/cargo: bump to ostree-sys 0.9.2
Luca BRUNO [Fri, 4 Mar 2022 14:28:33 +0000 (14:28 +0000)]
ostree/cargo: bump to ostree-sys 0.9.2

3 years agoostree-sys: release 0.9.2
Luca BRUNO [Fri, 4 Mar 2022 10:35:03 +0000 (10:35 +0000)]
ostree-sys: release 0.9.2

3 years agoostree-sys: refresh after gir bump
Luca BRUNO [Fri, 4 Mar 2022 10:35:02 +0000 (10:35 +0000)]
ostree-sys: refresh after gir bump

3 years agogir-files: bump to v2022.2
Luca BRUNO [Fri, 4 Mar 2022 10:35:01 +0000 (10:35 +0000)]
gir-files: bump to v2022.2

3 years agorepo: Add `query_file` API
Colin Walters [Sat, 26 Feb 2022 13:46:50 +0000 (08:46 -0500)]
repo: Add `query_file` API

The underlying `ostree_repo_load_file()` API has the caller pass
`NULL` for output arguments it doesn't want.  This isn't sanely
bindable in Rust - what the generator does is always request
all values, but maps them all to `Option<T>`.

The main cases are where a user wants either metadata, or both
metadata and content.  This API gives just metadata; it's a
bit more efficient as we don't need to open the file, and doesn't
require the caller to `unwrap()`.

3 years agoAdd manual bindings for MutableTree reading
Colin Walters [Thu, 17 Feb 2022 23:36:43 +0000 (18:36 -0500)]
Add manual bindings for MutableTree reading

I'm trying to debug a problem in ostree-rs-ext, and it's
handy to be able to do `dbg!(mtree.copy_files())`.

3 years agoRelease 0.13.6
Colin Walters [Thu, 10 Feb 2022 14:08:58 +0000 (09:08 -0500)]
Release 0.13.6

3 years agoFast-track fix for `ostree_gpg_verify_result_get_all()`
Colin Walters [Wed, 9 Feb 2022 23:41:31 +0000 (18:41 -0500)]
Fast-track fix for `ostree_gpg_verify_result_get_all()`

This cherry picks just the changes from
https://github.com/ostreedev/ostree/pull/2537

We don't need to wait to respin a new ostree release just
for this.

3 years agoRelease 0.13.5
Colin Walters [Fri, 4 Feb 2022 00:59:09 +0000 (19:59 -0500)]
Release 0.13.5

3 years agoAdd `COMMIT_META_CONTAINER_CMD` constant
Colin Walters [Thu, 3 Feb 2022 17:40:46 +0000 (12:40 -0500)]
Add `COMMIT_META_CONTAINER_CMD` constant

Today we hardcode `/bin/bash` in
https://github.com/coreos/coreos-assembler/blob/2088d24884771093101d95f915c921505128ef76/src/cmd-build#L405

But that breaks the concept of a bidirectional bridge between
container image and ostree commit because this little bit of
knowledge is encoded at the buildsystem side.

This metadata key is intended to be written into an ostree commit,
and then we will use it automatically in `container encapsulate`.

The "source of truth" for this key will hence be able live in the same
place that's generating the ostree commit.

The more "proper" place for this is probably alongside the other
constants in the libostree core C code.  But that's tedious and
slow to release.  And Rust is the future.  And we've been slowly
adding more "core ostree" functionality here.

3 years agorepo: Add two more cap-std APIs
Colin Walters [Thu, 3 Feb 2022 13:54:37 +0000 (08:54 -0500)]
repo: Add two more cap-std APIs

Followup to the previous PR.  I realized now with `io_lifetimes`
we can offer a safe `dfd_borrow()` that *borrows* the file descriptor
for the repository.  (In contrast to the current `.dfd()` that returns
the raw version)

Building on that, add another API that re-acquires a `Dir` instance.
(In the future in theory we could optimize this more by knowing
 whether or not the repo was constructed via cap-std, and perhaps
 in theory synthesize a `&Dir` reference, but I don't think we
 need that now)

3 years agoAdd a `cap-std-apis` feature with open/create
Colin Walters [Wed, 2 Feb 2022 22:47:52 +0000 (17:47 -0500)]
Add a `cap-std-apis` feature with open/create

I'm trying to make more use of `cap-std` in our stack, and
this will be a key enabling API.

Actually a notable side benefit of this is that we don't need
to teach the ostree C code itself to use `openat2`, we inherit
cap-std's setup.

All of the internal ostree code using the prior `openat()` should
continue to work.

I only did basic sanity checking of this; there may be bugs
in other APIs.

3 years agoRelease 0.13.4
Colin Walters [Wed, 5 Jan 2022 23:14:42 +0000 (18:14 -0500)]
Release 0.13.4

3 years agorepo: Add an API to read and parse directory metadata
Colin Walters [Wed, 15 Dec 2021 18:57:54 +0000 (13:57 -0500)]
repo: Add an API to read and parse directory metadata

The fact that the uid/gid/mode are big endian bit me when I was
trying to parse this "by hand" in ostree-rs-ext.

Let's add a footgun-free API for this.

(And yeah, we should probably do the same for the other variant types)

3 years agoci: add jobs for MSRV checks and linting
Luca BRUNO [Wed, 1 Dec 2021 17:04:08 +0000 (17:04 +0000)]
ci: add jobs for MSRV checks and linting

This adds two jobs in order to check minimum toolchain compatibility,
and for overall linting.

3 years agolib: run rustfmt
Luca BRUNO [Wed, 1 Dec 2021 15:18:47 +0000 (15:18 +0000)]
lib: run rustfmt

3 years agolib: fix new clippy warnings
Luca BRUNO [Wed, 1 Dec 2021 15:13:57 +0000 (15:13 +0000)]
lib: fix new clippy warnings

This fixes the following warnings highlighted by clippy:
 * https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark
 * https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
 * https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports

3 years agosys/cargo: refresh manifest
Luca BRUNO [Tue, 23 Nov 2021 08:38:13 +0000 (08:38 +0000)]
sys/cargo: refresh manifest

This updates stale dependencies and remove leftover settings.

3 years agoUpdate impl Display, omit to_string, change wording
Manuel Stühn [Tue, 23 Nov 2021 13:38:06 +0000 (14:38 +0100)]
Update impl Display, omit to_string, change wording

3 years agoadd ObjectDetails-struct and use it in list_objects-function
Manuel Stühn [Tue, 16 Nov 2021 11:10:50 +0000 (12:10 +0100)]
add ObjectDetails-struct and use it in list_objects-function

3 years agoupdate result type
Manuel Stühn [Tue, 16 Nov 2021 10:28:38 +0000 (11:28 +0100)]
update result type

3 years agoswitch from if-else to match
Manuel Stühn [Tue, 16 Nov 2021 10:27:50 +0000 (11:27 +0100)]
switch from if-else to match